﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FluentValidation;
using FluentValidation.Results;
using STLGROUP.Layers.Common;

namespace STLGROUP.Layers.DataAccessLayers.Validators
{
    public class DT_SanPhamValidator : AbstractValidator<DT_SanPham>
    {
        public DT_SanPhamValidator()
        {
            RuleFor(s=>s.TenSanPham).NotNull().WithMessage(Const.VALD_PROPERTY_KHONG_BO_TRONG).WithPropertyName("Tên sản phẩm");
            RuleFor(s=>s.IDLoaiSanPham).NotNull().WithMessage(Const.VALD_PROPERTY_KHONG_BO_TRONG).WithPropertyName("Loại sản phẩm");
            RuleFor(s=>s.IDNhaCungCap).NotNull().WithMessage(Const.VALD_PROPERTY_KHONG_BO_TRONG).WithPropertyName("Nhà cung cấp");
            //RuleFor(s => s.SoLuongTonKho).NotNull().WithMessage(Const.VALD_PROPERTY_KHONG_BO_TRONG).WithPropertyName("Số lượng");
            //RuleFor(s => s.SoLuongTonKho).Must(IsLonHonKhong).WithMessage(Const.VALD_PROPERTY_PHAI_LON_HON_KHONG).WithPropertyName("Số lượng");

            RuleFor(s => s.GiaNhap).NotNull().WithMessage(Const.VALD_PROPERTY_KHONG_BO_TRONG).WithPropertyName("Giá nhập");
            RuleFor(s => s.GiaNhap).Must(IsLonHonKhong).WithMessage(Const.VALD_PROPERTY_PHAI_LON_HON_KHONG).WithPropertyName("Giá nhập");
        }

        private bool IsLonHonKhong(int? a)
        {
            return a > 0 ? true : false;
        }

        private bool IsLonHonKhong(decimal? a)
        {
            return a > 0 ? true : false;
        }
    }
}
